php友好的网址使用htaccess

时间:2015-02-12 14:28:51

标签: php .htaccess

我的htaccess上有以下代码:

RewriteEngine On
RewriteRule ^course-details/([a-zA-Z0-9]+)/$ course-details.php?id=$1

我认为这给了我一个这样的网址:/ cp / course-details / 5其中5是课程的ID。

但是当我去这个地址时,我找不到404。此外,我们目前的网址是

/cp/course-details.php?course-details.php?name=bla-bla-bla&category_id=1

我们需要这样一个友好的网址

cp/category-name/course-name/

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

RewriteRule ^course-details/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/.*$ course-details.php?id=$1&category_id=$2

有了这个,您可以使用course-details/1/5/category-name/course-name

之类的网址

因为网址允许:course-details/category_id/id/what-ever-you-want

答案 1 :(得分:0)

如果php文件位于cp目录中,您可以在htaccess文件中尝试此操作。由于看起来您正在使用开发框的subfolder(peppers)进行开发,因此您可以尝试使用此功能。

RewriteEngine On
RewriteBase /peppers/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cp/course-details/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]

如果这是用于生产,那么您可以在根目录中的.htaccess文件中使用它。

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^cp/course-details/([^/]+)/?$ /cp/course-details.php?name=$1 [NC,L]