/ / htaccess SEO приятелски url - php, apache, .htaccess, mod-rewrite

htaccess SEO приятелски url - php, apache, .htaccess, mod-rewrite

Моят URL адрес за конкретен сайт изглежда така:

http://www.mytestingsite123.com/play.php?alias=this-is-an-alias#.U5BPYvl_tNo

но искам да имам този URL адрес:

http://www.mytestingsite123.com/this-is-an-alias

или

http://www.mytestingsite123.com/video/this-is-an-alias

така че ще бъде по-SEO приятелски. Може ли да ми помогне, как бих могъл да го направя, като модифицира .htaccess файл.

Имам .htaccess файл със следното съдържание:

RewriteEngine On

# whole domains
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomains
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www.)?(.*).([^.]*).([^.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliases (if misssing)
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomains (if misssing)
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

Отговори:

1 за отговор № 1

Трябва да добавите своя .htaccess файл по следния начин:

RewriteRule ^video/([^/]+)?$ play.php?alias=$1 [L]
RewriteRule ^([^/]+)?$ play.php?alias=$1 [L]

Първото правило ще съответства http://www.mytestingsite123.com/video/this-is-an-alias

второто правило ще съвпадне http://www.mytestingsite123.com/this-is-an-alias

на [L] казва на Apache да спре да търси правило, на което да го промените [L,QSA] което означава, че ако добавите допълнителни параметри в края на новото uri, то ще ги предаде правилно.