#php #apache #.htaccess #mod-rewrite
#php #apache #.htaccess #мод-перезапись
Вопрос:
Я пытаюсь переписать этот URL, но ничего не получается, пожалуйста, дайте мне знать, что я делаю не так.. Мне нужно переписать URL, чтобы единственное, что нужно увидеть, это ключевое слово plase help
chopo.com.mx/promocion?codigoPromo=2amp;region=2amp;keyword=Perfil-Hormonal-1
Options FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.] ).php [NC]
RewriteRule ^ %1 [R,L]
RewriteRule ^([a-zA-Z0-9_-] )/([0-9] )/$ http://chopo.com.mx/promocion.php?codigoPromo=$1amp;region=$2amp;keyword=$3
# To internally forward
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
# To remove www header
RewriteCond %{HTTP_HOST} ^www.(. )$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
Комментарии:
1. Что не так с
chopo.com.mx/promocion?codigoPromo=2amp;region=2amp;keyword=Perfil-Hormonal-1
и что нужно переписать как?2. Мне нужно переписать его как chopo.com.mx/promocion/perfil-hormonal-1 но htaccess просто игнорирует правило
3. Возможно, вы добьетесь большего успеха, если заглавите свой вопрос менее обобщенно.
Ответ №1:
Сохраняйте свой код таким:
Options FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.] ).php [NC]
RewriteRule ^ %1 [R,L]
# To remove www header
RewriteCond %{HTTP_HOST} ^www.(. )$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^promocion/([w-] )/?$ promocion.php?codigoPromo=2amp;region=2amp;keyword=$1 [L,QSA,NC]
# To internally forward
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
Комментарии:
1. все еще не работает, я подумал, что это может быть из-за того, что переменные являются числовыми, но, кроме того, я не понимаю, почему не работает.. пожалуйста, смотрите: chopo.com.mx / …
2. Что происходит, когда вы вводите URL как:
chopo.com.mx/promocion/perfil-hormonal-1
в браузере?3. теперь это работает, однако стили не загружаются. довольно близко, спасибо
4. используйте абсолютный путь в ваших файлах css, js, images, а не относительный. Это означает, что вы должны убедиться, что путь к этим файлам начинается либо с
http://
, либо с косой черты/
.5. Я очень ценю вашу помощь, это сработало отлично, но поскольку я работаю с переменными, они неправильно применены к другим моим результатам, это сработало только с этим конкретным, но если мне нужно использовать другие переменные, например: codigoPromo = 3 amp; region = 3 amp; keyword = $ 1 и многие другие, они не будут работать, также мои переменные не загружены в выпадающие списки, которые вы можете увидеть по ссылке chopo.com.mx/promocion/Perfil-Hormonal-1