2

我有一个网址

http://localhost/coupon/stores.php?store_slug=url

我想像这样改变它

http://localhost/coupon/url

我试过这段代码

RewriteEngine on
RewriteBase /coupon/
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteRule (.*) stores.php?store_slug=$1

但它不适用于上述 .htaccess 代码,出现 500 内部服务器错误。我在子文件夹中使用这个 .htaccess 文件,即优惠券

任何人都可以检查哪里做错了吗?

4

1 回答 1

7

试试这个:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /coupon/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) stores.php?store_slug=$1 [L]

!和之间不应有空格-f/d

请记住,上述规则只是为了http://localhost/coupon/url工作,因为它会在内部将任何请求从coupon文件夹重定向到stores.php文件。


作为附加说明,对于 CSS、JS、图像,您需要使用绝对路径,因为使用相对路径将假定 CSS、JS 和图像位于优惠券文件夹中。

因此,如果您像这样拥有它,css/my.css它会认为它在内部coupon/css/my.css,因此您需要使用它http://yourdomain.com/css/my.css来避免这种情况。

如果你/在 URL 之后放置一个,它会认为这是文件夹,所以它会像这样coupon/flipkart/css/my.css

于 2013-09-15T23:21:43.427 回答