htaccess漂亮的网址不工作

Kin*_*sis 2 apache .htaccess mod-rewrite

文件夹结构:

- assets
  - all css / js
- calsses
  - all models, db ant etc
- views
  - admin
  - app
    - index.php
    - customers.php
    .......
Run Code Online (Sandbox Code Playgroud)

我的.htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP_HOST} ^(www.)?localhost:8080$

RewriteRule ^(.*)$ /views/$1
RewriteRule ^(/)?$ /views/index.php [L]
Run Code Online (Sandbox Code Playgroud)

地址:localhost:8080/app/- 工作正常,但后来我尝试添加漂亮的网址例如我customers.php- localhost:8080/app/customers.php?id=5更改为localhost:8080/app/customers/id/5

htaccess添加了新行:

RewriteRule /id/(.*) customers.php?id=$1
Run Code Online (Sandbox Code Playgroud)

它不工作,它总是返回500内部服务器错误可能有问题?

加上需要没有.php扩展的所有网址

Wal*_*alf 6

您必须为每个规则包含这些条件.你最好只重写所有内容,views/router.php然后使用PHP包含不同的控制器,或者在URL无效时提供404.

RewriteRule !^views/router\.php$ views/router.php [NS,L,DPI]
Run Code Online (Sandbox Code Playgroud)