【发布时间】:2014-01-11 16:27:56
【问题描述】:
我有这个网址:http://example.org/product.php?course_id=$x
我希望这个网址更改为:http://example.org/Course-Name
这是我在 .htaccess 文件中的代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ 404page.php
RewriteRule ^/([0-9]+)/([^/]+)/$ /product.php?course_id=$1 [L,R]
哪个不工作请告诉我我的代码有什么问题?
【问题讨论】:
-
您需要匹配的重定向,而不仅仅是重写。目前,您正在让服务器理解用户友好的 URL,但不会从真实 URL 重定向到该用户友好的 URL。请注意,您的 HTML 中的链接应该是您想要查看的链接,而不是那些将被重定向的真实链接。
-
您的 .htaccess 是否已处理?如果您的目录有 AllowOverride all,请检查 apache 配置
-
好的,我将重写更改为重定向,但仍然无法正常工作
-
是的,它的 AllowOverride all
-
popnoodles 请告诉我如何重定向?我不知道确切的语法
标签: regex apache .htaccess mod-rewrite query-string